package miiteen.customsportal.basic.beans;

import java.util.ArrayList;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.List;

import miiteen.common.json.jackson.LongSerialize;
import miiteen.common.utils.FieldMeta;
import miiteen.sys.base.bean.BasePo;

/**
 * Name: CustomsPortal_ Basic_Navigation
 * 导航栏
 * Des: -Bean
 * Author: yulp
 * Date: 2020-07-03
 */
public class BasicNavigation extends BasePo {


    @FieldMeta(name = "")
    private long id;

    @FieldMeta(name = "类型")
    private int type;

    @FieldMeta(name = "导航名称")
    private String navigation;

    @FieldMeta(name = "图片")
    private String icon;

    @FieldMeta(name = "导航地址")
    private String url;

    @FieldMeta(name = "父级导航")
    private long parentId;

    @FieldMeta(name = "父级导航名称")
    private String parent;

    //1、显示；2、隐藏
    @FieldMeta(name = "是否显示")
    private int isDisplay;

    @FieldMeta(name = "排序")
    private int indexOf;

    @FieldMeta(name = "部门Id")
    private long deptId;

    @FieldMeta(name = "部门")
    private String deptName;

    @FieldMeta(name = "组织ID")
    private long organizeId;

    @FieldMeta(name = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @FieldMeta(name = "创建人id")
    private long createId;

    @FieldMeta(name = "创建人")
    private String creator;

    @FieldMeta(name = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @FieldMeta(name = "更新人id")
    private long updateId;

    @FieldMeta(name = "更新人")
    private String updator;

    @FieldMeta(name = "删除状态")
    private int delState;

    @FieldMeta(name = "备注")
    private String remark;

    @FieldMeta(name = "预留字段")
    private int reserveField;

    @FieldMeta(name = "预留字段1")
    private String reserveField1;

    //辅助字段#====================
    @FieldMeta(name = "二级菜单")
    List<BasicNavigation> twoList=new ArrayList<>();

    @JsonSerialize(using = LongSerialize.class)
    public long getId() {
        return this.id;
    }

    public void setId(long value) {
        this.id = value;
    }

    public int getType() {
        return this.type;
    }

    public void setType(int value) {
        this.type = value;
    }

    public String getNavigation() {
        return this.navigation;
    }

    public void setNavigation(String value) {
        this.navigation = value;
    }

    public String getIcon() {
        return this.icon;
    }

    public void setIcon(String value) {
        this.icon = value;
    }

    public String getUrl() {
        return this.url;
    }

    public void setUrl(String value) {
        this.url = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getParentId() {
        return this.parentId;
    }

    public void setParentId(long value) {
        this.parentId = value;
    }

    public String getParent() {
        return this.parent;
    }

    public void setParent(String value) {
        this.parent = value;
    }

    public int getIsDisplay() {
        return this.isDisplay;
    }

    public void setIsDisplay(int value) {
        this.isDisplay = value;
    }

    public int getIndexOf() {
        return this.indexOf;
    }

    public void setIndexOf(int value) {
        this.indexOf = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getDeptId() {
        return this.deptId;
    }

    public void setDeptId(long value) {
        this.deptId = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getOrganizeId() {
        return this.organizeId;
    }

    public void setOrganizeId(long value) {
        this.organizeId = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Date value) {
        this.createTime = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getCreateId() {
        return this.createId;
    }

    public void setCreateId(long value) {
        this.createId = value;
    }

    public String getCreator() {
        return this.creator;
    }

    public void setCreator(String value) {
        this.creator = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Date value) {
        this.updateTime = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getUpdateId() {
        return this.updateId;
    }

    public void setUpdateId(long value) {
        this.updateId = value;
    }

    public String getUpdator() {
        return this.updator;
    }

    public void setUpdator(String value) {
        this.updator = value;
    }

    public int getDelState() {
        return this.delState;
    }

    public void setDelState(int value) {
        this.delState = value;
    }

    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String value) {
        this.remark = value;
    }

    public int getReserveField() {
        return this.reserveField;
    }

    public void setReserveField(int value) {
        this.reserveField = value;
    }

    public String getReserveField1() {
        return this.reserveField1;
    }

    public void setReserveField1(String value) {
        this.reserveField1 = value;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public List<BasicNavigation> getTwoList() {
        return twoList;
    }

    public void setTwoList(List<BasicNavigation> twoList) {
        this.twoList = twoList;
    }
}
